package com.tool.spring.client;


import com.tool.spring.manager.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @Author: lixiaofei
 */
public class Client {


	public static void main(String[] args) {


		BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext.xml");
		UserManager userManager=(UserManager)factory.getBean("userManager");
		userManager.addUser("张三", "123");

		//使用代理（实现原有对象的方法）对原有对象进行代理，不需要修改原有对象逻辑
		//动态代理方式  运行的时候执行 与静态代理比较来说 减少了对原有逻辑的实现的侵入性
/*		UserManager userManager = new UserManagerImpl();
		userManager.addUser("张三", "123");
		SecurityHandler securityHandler = new SecurityHandler();
		securityHandler.newProxy(userManager);*/


		//静态代理的方式
//		UserManager  userManagerProxy = new UserManagerImplProxy(userManager);
	}

}
